#ct-site-wrapper {
    --ct-blue: #4285f4;
    --ct-green: #34a853;
    --ct-yellow: #fbbc05;
    --ct-grey: #f1f3f4;
    --ct-border: #dadce0;
    width: 100%;
    background-color: #f8f9fa;
    font-family: 'Roboto', Arial, sans-serif;
    padding: 20px 10px;
}

#ct-site-wrapper * { box-sizing: border-box !important; }

.ct-container { max-width: 1100px; margin: 0 auto; }

.ct-featured-row {
    display: flex; justify-content: space-between;
    gap: 40px; margin-bottom: 40px; flex-wrap: wrap;
}

.ct-calc-side { flex: 0 0 350px; }
.ct-search-side { flex: 1; min-width: 320px; text-align: left; }

/* Calculator Styling */
.ct-calculator-container {
    background: #fff !important; padding: 15px !important;
    border-radius: 12px !important; border: 1px solid var(--ct-border) !important;
    position: relative !important; box-shadow: 0 1px 6px rgba(32,33,36,.28) !important;
}

.ct-display-screen {
    width: 100% !important; height: 100px !important;
    border: 1px solid var(--ct-border) !important; border-radius: 8px !important;
    margin: 35px 0 15px 0 !important; display: flex !important;
    align-items: flex-end !important; justify-content: flex-end !important;
    padding: 10px !important; background: #fff !important;
}

#ct-calc-display { font-size: 32px !important; color: #202124 !important; font-weight: bold; }

.ct-buttons-layout { display: grid !important; grid-template-columns: repeat(4, 1fr) !important; gap: 8px !important; }

.ct-buttons-layout button {
    height: 48px !important; border-radius: 6px !important;
    font-size: 18px !important; cursor: pointer !important;
    border: 1px solid transparent !important;
}

.ct-span-2 { grid-column: span 2 !important; }
.ct-btn-util { background-color: var(--ct-grey) !important; color: #202124 !important; }
.ct-btn-num { background-color: #fff !important; border: 1px solid var(--ct-border) !important; color: #202124 !important; }
.ct-btn-blue { background-color: var(--ct-blue) !important; color: white !important; font-size: 24px !important; }

/* History Panel */
.ct-history-toggle { position: absolute; top: 12px; right: 15px; color: var(--ct-blue); cursor: pointer; font-size: 13px; z-index: 10; font-weight: bold; }
.ct-history-panel { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: #fff; z-index: 100; display: none; flex-direction: column; padding: 15px; border-radius: 12px; }
.ct-history-header { display: flex; justify-content: space-between; margin-bottom: 10px; }
.ct-history-list { list-style: none !important; padding: 0 !important; overflow-y: auto; flex: 1; text-align: right; }
.ct-history-item { padding: 8px 0; border-bottom: 1px solid #eee; font-size: 14px; color: #5f6368; }
.ct-clear-btn { background: none; border: none; color: var(--ct-blue); cursor: pointer; margin-top: 10px; font-weight: bold; }

/* Category Grid */
.ct-category-grid { display: grid !important; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)) !important; gap: 20px !important; }
.ct-category-card { background: white !important; padding: 25px !important; border-radius: 12px !important; box-shadow: 0 2px 10px rgba(0,0,0,0.1) !important; }
.ct-category-card h2 { margin-top: 0 !important; font-size: 1.4rem !important; border-bottom: 1px solid #eee; padding-bottom: 10px; text-align: left; }
.ct-tool-list { list-style: none !important; padding: 0 !important; margin: 15px 0 !important; text-align: left; }
.ct-tool-list li { padding: 10px 0 !important; border-bottom: 1px solid #f1f3f4 !important; }
.ct-tool-list a { text-decoration: none !important; color: #3c4043 !important; font-weight: 500; display: block; }
.ct-tool-list a:hover { color: var(--ct-blue) !important; padding-left: 5px; transition: 0.2s; }

.ct-view-more { display: inline-block; margin-top: 15px; padding: 8px 15px; text-decoration: none !important; font-weight: bold; border: 1px solid; border-radius: 6px; font-size: 0.9rem; }
.ct-blue-more { color: var(--ct-blue); border-color: var(--ct-blue); }
.ct-green-more { color: var(--ct-green); border-color: var(--ct-green); }
.ct-yellow-more { color: var(--ct-yellow); border-color: var(--ct-yellow); }

@media (max-width: 768px) { .ct-featured-row { flex-direction: column; align-items: center; } }