.lh-due-field { display:grid;gap:6px;min-width:0; }
.lh-due-label { font-size:.9rem;font-weight:800; }
.lh-due-picker { position:relative;min-width:0; }
.lh-due-trigger { display:flex;align-items:center;gap:12px;width:100%;padding:12px 14px;background:#fffaf0;color:var(--text-main);border:2px solid var(--border-color);border-radius:12px;font:inherit;text-align:left;cursor:pointer;box-shadow:2px 2px 0 var(--border-color); }
.lh-due-trigger > span:nth-child(2) { flex:1;min-width:0; }
.lh-due-trigger strong { display:block;font-size:.95rem; }
.lh-due-trigger small { display:block;margin-top:4px;font-size:.76rem;color:var(--text-muted); }
.lh-due-trigger:hover,.lh-due-trigger[aria-expanded="true"] { background:#fff4ce; }
.lh-due-icon { display:grid;place-items:center;width:35px;height:35px;background:var(--accent-yellow);border:1.5px solid var(--border-color);border-radius:9px;font-size:1.2rem;flex:none; }
.lh-due-panel[hidden] { display:none!important; }
.lh-due-panel { position:absolute;top:calc(100% + 10px);left:0;width:min(352px,100%);max-height:calc(100vh - 40px);overflow:auto;scroll-margin-block:12px;z-index:8;background:#fff;border:2.5px solid var(--border-color);border-radius:17px;padding:16px;box-shadow:5px 5px 0 var(--border-color);font-family:inherit;color:var(--text-main); }
.lh-due-heading { display:flex;align-items:center;gap:8px;font-size:1rem;margin-bottom:12px; }
.lh-due-panel button { font:inherit;color:var(--text-main);cursor:pointer; }
.lh-due-shortcuts { display:flex;gap:6px;margin-bottom:14px; }
.lh-due-shortcuts button { flex:1;padding:6px 3px;font-size:.73rem;font-weight:800;background:#fff4ce;border:1.5px solid var(--border-color);border-radius:8px; }
.lh-due-shortcuts button:hover { background:var(--accent-yellow); }
.lh-due-month { display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px; }
.lh-due-month strong { font-size:.95rem; }
.lh-due-month button { display:grid;place-items:center;width:32px;height:32px;font-size:1.4rem;line-height:1;background:white;border:1.5px solid var(--border-color);border-radius:9px; }
.lh-due-month button:hover { background:#fff4ce; }
.lh-due-week { display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px;margin-bottom:3px; }
.lh-due-week > span { text-align:center;color:var(--text-muted);font-size:.72rem;font-weight:800;padding:4px 0 6px; }
.lh-due-week > div { min-width:0; }
.lh-due-week button { display:block;width:100%;height:34px;padding:0;font-size:.84rem;font-weight:800;background:white;border:1.5px solid transparent;border-radius:9px; }
.lh-due-week button[data-outside="true"] { color:#9996a8; }
.lh-due-week button[aria-current="date"] { border-color:#d9b33f; }
.lh-due-week button:hover { background:#fff4ce; }
.lh-due-week [aria-selected="true"] button { background:var(--accent-yellow);color:var(--text-main);border-color:var(--border-color);box-shadow:2px 2px 0 var(--border-color); }
.lh-due-panel button:focus-visible { outline:2px solid var(--primary);outline-offset:2px; }
.lh-due-time { display:flex;align-items:end;gap:8px;margin-top:14px;padding-top:12px;border-top:2px dashed var(--border-color); }
.lh-due-time > span:first-child { flex:1;align-self:center;font-size:.85rem;font-weight:800; }
#lhAssignmentCreate .lh-due-time label { display:grid;gap:4px;flex:none;font-size:.73rem;font-weight:800; }
#lhAssignmentCreate .lh-due-time input { width:47px;min-width:0;min-height:36px;padding:7px 4px;text-align:center;font:inherit;font-size:.94rem;background:#fffaf0;border:2px solid var(--border-color);border-radius:9px; }
#lhAssignmentCreate .lh-due-time input[aria-invalid="true"] { border-color:#c23e32; }
.lh-due-time > span:nth-of-type(2) { padding-bottom:8px; }
.lh-due-local { margin:9px 0 0;font-size:.69rem;color:var(--text-muted);line-height:1.6; }
.lh-due-error { margin:8px 0;font-size:.76rem;color:#a5342b; }
.lh-due-error:empty { display:none; }
.lh-due-footer { display:flex;gap:8px;align-items:center;margin-top:14px; }
.lh-due-footer button { padding:8px 10px;font-size:.8rem;font-weight:800;background:white;border:1.5px solid var(--border-color);border-radius:9px; }
.lh-due-footer .lh-due-clear { border:0;margin-right:auto;padding-left:0;color:#9a4434; }
.lh-due-footer .lh-due-apply { background:var(--accent-yellow);box-shadow:2px 2px 0 var(--border-color); }
