/* ===================================================== 
UCI Accounting – Deadlines Widget 
File: uci-acct-deadlines.css Scoped to #uci-acct-deadlines 
Integrates with the UCI Aldrich theme. 
===================================================== */

/* ── Base ─────────────────────────────────────────── */
 #uci-acct-deadlines {
     font-family: inherit;
     line-height: 1.5;
}
 #uci-acct-deadlines *, #uci-acct-deadlines *::before, #uci-acct-deadlines *::after {
     box-sizing: border-box;
}
/* ── Controls bar ─────────────────────────────────── */
 #uci-acct-deadlines .dl-controls {
     display: flex;
     flex-wrap: wrap;
     gap: .5rem;
     align-items: center;
     margin-bottom: 1rem;
     padding: .75rem 1rem;
     background: var(--color-gray-100);
     border: var(--layout-border);
     border-radius: var(--border-radius);
}
 #uci-acct-deadlines .dl-search-wrap {
     display: flex;
     gap: .25rem;
     flex: 1;
     min-width: 180px;
}
 #uci-acct-deadlines .dl-search {
     flex: 1;
     font-size: var(--font-size-sm);
     padding: 5px 10px;
     border: var(--layout-border);
     border-radius: var(--border-radius);
     color: var(--font-color-dark);
     background: #fff;
     min-height: 38px;
}
 #uci-acct-deadlines .dl-search:focus {
     outline: 3px solid var(--color-uci-blue);
     outline-offset: 2px;
}
 #uci-acct-deadlines .dl-cat-select {
     font-size: var(--font-size-sm);
     padding: 5px 28px 5px 10px;
     border: var(--layout-border);
     border-radius: var(--border-radius);
     color: var(--font-color-dark);
     background-color: #fff;
     background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e");
     background-repeat: no-repeat;
     background-position: right .5rem center;
     background-size: 14px 18px;
     appearance: none;
     min-width: 160px;
     min-height: 38px;
}
 #uci-acct-deadlines .dl-cat-select:focus {
     outline: 3px solid var(--color-uci-blue);
     outline-offset: 2px;
}
/* Outline button (e.g. Clear) */
 #uci-acct-deadlines .dl-btn {
     font-size: var(--font-size-sm);
     font-weight: 700;
     padding: 5px 14px;
     min-height: 38px;
     border-radius: var(--border-radius);
     border: 2px solid var(--color-dark-blue);
     background: #fff;
     color: var(--color-dark-blue);
     cursor: pointer;
     white-space: nowrap;
     transition: background var(--transition-duration), color var(--transition-duration);
     line-height: 1.4;
}
 #uci-acct-deadlines .dl-btn:hover {
     background: var(--color-dark-blue);
     color: #fff;
}
 #uci-acct-deadlines .dl-btn:focus {
     outline: 3px solid var(--color-uci-blue);
     outline-offset: 2px;
}
/* Solid/primary button (e.g. Export CSV) */
 #uci-acct-deadlines .dl-btn-primary {
     background: var(--color-dark-blue);
     color: #fff;
}
 #uci-acct-deadlines .dl-btn-primary:hover {
     background: hsl(var(--hue-dark-blue), var(--saturation-dark-blue), calc(var(--lightness-dark-blue) - 7.5%));
     border-color: hsl(var(--hue-dark-blue), var(--saturation-dark-blue), calc(var(--lightness-dark-blue) - 7.5%));
}
 #uci-acct-deadlines .dl-btn-primary:focus {
     outline: 3px solid var(--color-uci-gold);
     outline-offset: 2px;
}
/* ── Result count ─────────────────────────────────── */
 #uci-acct-deadlines .dl-result-count {
     font-size: var(--font-size-sm);
     color: var(--color-gray-600);
     margin-bottom: .75rem;
}
/* ── Item card ────────────────────────────────────── */
 #uci-acct-deadlines .dl-item {
     display: flex;
     align-items: stretch;
     border: var(--layout-border);
     border-left: 5px solid var(--color-dark-blue);
     border-radius: 0 var(--border-radius) var(--border-radius) 0;
     margin-bottom: .65rem;
     background: #fff;
}
 #uci-acct-deadlines .dl-item.dl-urgent {
     border-left-color: #b71c1c;
}
 #uci-acct-deadlines .dl-item.dl-past {
     border-left-color: var(--color-gray-400);
     opacity: .75;
}
/* ── Date block ───────────────────────────────────── */
 #uci-acct-deadlines .dl-date {
     min-width: 68px;
     width: 68px;
     flex-shrink: 0;
     background: var(--color-gray-100);
     display: flex;
     flex-direction: column;
     align-items: center;
     justify-content: center;
     padding: .6rem .3rem;
     text-align: center;
}
 #uci-acct-deadlines .dl-item.dl-urgent .dl-date {
     background: #fef2f2;
}
 #uci-acct-deadlines .dl-item.dl-past .dl-date {
     background: var(--color-gray-100);
}
/* Numeric date (e.g. 5/12) */
 #uci-acct-deadlines .dl-date-num {
     font-size: 1.15rem;
     font-weight: 800;
     color: var(--color-dark-blue);
     line-height: 1.2;
     letter-spacing: -.01em;
}
/* Range dates (e.g. 5/12–5/15) */
 #uci-acct-deadlines .dl-date-range {
     font-size: 1.15rem;
     line-height: 1.3;
}
 #uci-acct-deadlines .dl-date-yr {
     font-size: .6rem;
     color: var(--color-gray-500);
     margin-top: 2px;
}
 #uci-acct-deadlines .dl-item.dl-urgent .dl-date-num {
     color: #b71c1c;
}
 #uci-acct-deadlines .dl-item.dl-past .dl-date-num {
     color: var(--color-gray-500);
}
 #uci-acct-deadlines .dl-date-text {
     font-size: .65rem;
     font-weight: 700;
     color: var(--color-gray-600);
     line-height: 1.3;
     word-break: break-word;
}
/* ── Card body ────────────────────────────────────── */
 #uci-acct-deadlines .dl-body {
     padding: .75rem 1rem;
     flex: 1;
     min-width: 0;
}
 #uci-acct-deadlines .dl-meta {
     display: flex;
     flex-wrap: wrap;
     align-items: center;
     gap: .35rem;
     margin-bottom: .7rem;
}
/* Gold category badge — UCI gold branding */
 #uci-acct-deadlines .dl-badge-cat {
     font-size: .65rem;
     font-weight: 800;
     padding: 2px 9px;
     border-radius: 12px;
     background: var(--color-uci-gold);
     color: var(--color-dark-blue);
     text-transform: uppercase;
     letter-spacing: .06em;
     white-space: nowrap;
}
/* Red urgency badge */
 #uci-acct-deadlines .dl-badge-soon {
     font-size: .65rem;
     font-weight: 800;
     padding: 2px 9px;
     border-radius: 12px;
     background: #b71c1c;
     color: #fff;
     white-space: nowrap;
}
 #uci-acct-deadlines .dl-time-str {
     font-size: var(--font-size-sm);
     color: var(--color-gray-600);
}
 #uci-acct-deadlines .dl-title {
     font-size: var(--font-size-base);
     font-weight: 700;
     color: var(--font-color-dark);
     margin: 0 0 .35rem;
     line-height: 1.35;
}
 #uci-acct-deadlines .dl-item.dl-past .dl-title {
     color: var(--color-gray-500);
}
/* ── Description panel — always visible ──────────── */
 #uci-acct-deadlines .dl-desc {
     display: block;
     font-size: var(--font-size-sm);
     color: var(--color-gray-700);
     line-height: 1.65;
     margin-top: .5rem;
     padding-top: .5rem;
     border-top: var(--layout-border);
}

/* ── Add to Calendar — top-right corner ──────────── */
 #uci-acct-deadlines .dl-cal-corner {
     float: right;
     margin: 0 0 .5rem .75rem;
}
 #uci-acct-deadlines .dl-body::after {
     content: '';
     display: table;
     clear: both;
}
 #uci-acct-deadlines .dl-cal-btn {
     font-size: .75rem;
     font-weight: 700;
     padding: 4px 10px;
     min-height: 36px;
     border-radius: var(--border-radius);
     border: 1px solid var(--color-uci-blue);
     background: #fff;
     color: var(--color-uci-blue);
     cursor: pointer;
     line-height: 1.5;
     white-space: nowrap;
     transition: background var(--transition-duration), color var(--transition-duration);
}
 #uci-acct-deadlines .dl-cal-btn:hover {
     background: var(--color-uci-blue);
     color: #fff;
}
 #uci-acct-deadlines .dl-cal-btn:focus {
     outline: 3px solid var(--color-uci-blue);
     outline-offset: 2px;
}
 #uci-acct-deadlines .dl-item.dl-past .dl-cal-btn {
     border-color: var(--color-gray-400);
     color: var(--color-gray-500);
}
 #uci-acct-deadlines .dl-item.dl-past .dl-cal-btn:hover {
     background: var(--color-gray-400);
     color: #fff;
}
/* ── Past deadlines toggle ────────────────────────── */
 #uci-acct-deadlines .dl-past-toggle {
     display: block;
     width: 100%;
     text-align: center;
     font-size: var(--font-size-sm);
     font-weight: 700;
     color: var(--color-dark-blue);
     background: var(--color-gray-100);
     border: var(--layout-border);
     border-radius: var(--border-radius);
     padding: .6rem 1rem;
     min-height: 38px;
     cursor: pointer;
     margin: .5rem 0;
     line-height: 1.4;
     transition: background var(--transition-duration);
}
 #uci-acct-deadlines .dl-past-toggle:hover {
     background: var(--color-gray-200);
}
 #uci-acct-deadlines .dl-past-toggle:focus {
     outline: 3px solid var(--color-uci-blue);
     outline-offset: 2px;
}
/* ── State messages ───────────────────────────────── */
 #uci-acct-deadlines .dl-msg {
     color: var(--color-gray-600);
     padding: .5rem 0;
     font-size: var(--font-size-base);
}
 #uci-acct-deadlines .dl-error {
     color: #b71c1c;
}
 #uci-acct-deadlines .dl-no-results {
     color: var(--color-gray-600);
     font-style: italic;
     padding: 1rem 0;
     font-size: var(--font-size-base);
}
/* ── Responsive ───────────────────────────────────── */
 @media (max-width: 540px) {
     #uci-acct-deadlines .dl-cal-corner {
         float: none;
         margin: 0 0 .5rem 0;
    }
     #uci-acct-deadlines .dl-controls {
         flex-direction: column;
         align-items: stretch;
    }
     #uci-acct-deadlines .dl-search-wrap {
         min-width: 0;
    }
     #uci-acct-deadlines .dl-date {
         min-width: 56px;
         width: 56px;
    }
     #uci-acct-deadlines .dl-date-num {
         font-size: .95rem;
    }
     #uci-acct-deadlines .dl-date-range {
         font-size: .68rem;
    }
     #uci-acct-deadlines .dl-body {
         padding: .6rem .7rem;
    }
     #uci-acct-deadlines .dl-cal-corner {
         padding: .5rem .5rem .5rem .2rem;
    }
     #uci-acct-deadlines .dl-cal-btn {
         font-size: .7rem;
         padding: 3px 7px;
         white-space: normal;
         text-align: center;
    }
}
 