.sas-p-shell{
  --pp-module-primary:#103c35;
  --pp-module-primary-dark:#0b2f2a;
  --pp-module-accent:#8c4324;
  --pp-module-soft:#f3e2d8;
  --pp-module-line:#d9e1dc;
}
.sas-p-shell{
  --pp-emerald-950:#0b2f2a;
  --pp-emerald-900:#103c35;
  --pp-emerald-800:#165247;
  --pp-emerald-700:#1d6759;
  --pp-emerald-100:#e8f1ee;
  --pp-emerald-050:#f4f8f6;
  --pp-gold-700:#8c4324;
  --pp-gold-600:#a6512c;
  --pp-gold-500:#b5643b;
  --pp-gold-300:#dcb49e;
  --pp-gold-100:#f3e2d8;
  --pp-text:#202722;
  --pp-muted:#66716a;
  --pp-line:#d9e1dc;
  --pp-surface:#fff;
  --pp-canvas:#f7f4ec;
  --pp-success:#246b4b;
  --pp-success-bg:#e8f4ed;
  --pp-warning:#8a6213;
  --pp-warning-bg:#fbf2d8;
  --pp-danger:#9a3f39;
  --pp-danger-bg:#f8e9e7;
  --pp-info:#245f70;
  --pp-info-bg:#e8f2f3;
  max-width:1240px;
  margin:0 auto;
  padding:0;
  background:transparent;
  color:var(--pp-text);
}
.sas-p-shell *{box-sizing:border-box}
.sas-p-assignments-accordion{
  background:var(--pp-surface);
  border:1px solid var(--pp-line);
  border-radius:22px;
  overflow:hidden;
  box-shadow:0 12px 30px rgba(20,52,45,.08);
}
.sas-p-assignments-summary{
  list-style:none;
  cursor:pointer;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:16px;
  padding:18px 20px;
  background:linear-gradient(180deg,var(--pp-gold-100),#fff);
}
.sas-p-assignments-summary::-webkit-details-marker{display:none}
.sas-p-assignments-summary strong{
  color:var(--pp-emerald-950);
}
.sas-p-assignments-summary small{
  margin-inline-start:6px;
  color:var(--pp-muted);
}
.sas-p-assignments-chevron{
  color:var(--pp-gold-700);
  transition:transform .2s ease;
}
.sas-p-assignments-accordion[open] .sas-p-assignments-chevron{transform:rotate(90deg)}
.sas-p-assignments-body{
  padding:18px 20px 20px;
  border-top:1px solid var(--pp-line);
}
.sas-p-shell button,.sas-p-shell input,.sas-p-shell select{}
.sas-p-topbar,.sas-p-brand,.sas-p-parent{display:flex;align-items:center}
.sas-p-topbar{justify-content:space-between;gap:18px;margin-bottom:18px}
.sas-p-brand,.sas-p-parent{gap:10px}
.sas-p-brand strong,.sas-p-brand small,.sas-p-parent strong,.sas-p-parent small{display:block}
.sas-p-brand strong,.sas-p-parent strong{color:var(--pp-emerald-950);}
.sas-p-brand small,.sas-p-parent small{color:var(--pp-muted);}
.sas-p-logo,.sas-p-avatar{display:grid;place-items:center;}
.sas-p-logo{width:44px;height:44px;border-radius:13px;background:var(--pp-emerald-900);color:#fff;box-shadow:0 6px 16px rgba(11,47,42,.14)}
.sas-p-avatar{width:42px;height:42px;border-radius:50%;background:var(--pp-gold-100);color:#6b3018;border:1px solid var(--pp-gold-300)}
.sas-p-hero{background:linear-gradient(135deg,var(--pp-emerald-950),var(--pp-emerald-800));color:#fff;border-radius:22px;padding:26px 28px;display:flex;justify-content:space-between;align-items:center;gap:24px;box-shadow:0 14px 32px rgba(11,47,42,.12);overflow:hidden}
.sas-p-hero-copy span{color:#d6e7e2}
.sas-p-hero h2{margin:6px 0 3px;color:#fff}
.sas-p-hero p{margin:0;color:#dce9e5;}
.sas-p-child-box{width:330px;max-width:45%;background:rgba(255,255,255,.11);border:1px solid rgba(255,255,255,.2);border-radius:15px;padding:13px}
.sas-p-child-box label{display:block;color:#e8f3f0;margin-bottom:6px;}
.sas-p-child-box select{width:100%;height:44px;border:1px solid #dce6e1;border-radius:10px;background:#fff;color:var(--pp-text);padding:0 10px;outline:none}
.sas-p-child-box select:focus{border-color:var(--pp-gold-500);box-shadow:0 0 0 3px rgba(208,163,59,.16)}
.sas-p-child-box>div{display:flex;justify-content:space-between;gap:10px;color:#e2efeb;margin-top:7px}
.sas-p-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:17px 0}
.sas-p-stats article{background:var(--pp-surface);border:1px solid var(--pp-line);border-radius:16px;padding:16px;box-shadow:0 6px 18px rgba(20,52,45,.04)}
.sas-p-stats strong,.sas-p-stats span{display:block}
.sas-p-stats strong{color:var(--pp-emerald-900);}
.sas-p-stats span{margin-top:3px;color:var(--pp-muted)}
.sas-p-attention{display:flex;justify-content:space-between;align-items:center;gap:16px;background:var(--pp-warning-bg);border:1px solid var(--pp-gold-300);border-right:5px solid var(--pp-gold-600);border-radius:15px;padding:13px 16px;margin-bottom:14px;color:#653019}
.sas-p-attention strong,.sas-p-attention span{display:block}
.sas-p-attention strong{color:#5c2c16;}
.sas-p-attention span{color:#7a4530}
.sas-p-attention button,.sas-p-filters button{min-height:42px;border:1px solid var(--pp-line);background:#fff;color:var(--pp-emerald-900);border-radius:10px;padding:9px 12px;cursor:pointer;transition:.18s ease}
.sas-p-attention button:hover,.sas-p-filters button:hover{border-color:var(--pp-emerald-700);background:var(--pp-emerald-050)}
.sas-p-attention button:focus-visible,.sas-p-filters button:focus-visible,.sas-p-details:focus-visible,.sas-p-tabs button:focus-visible{outline:3px solid rgba(29,103,89,.2);outline-offset:2px}
.sas-p-panel{background:var(--pp-surface);border:1px solid var(--pp-line);border-radius:20px;overflow:hidden;box-shadow:0 12px 28px rgba(20,52,45,.07)}
.sas-p-panel-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding:18px 20px 14px;background:linear-gradient(180deg,#fff,var(--pp-emerald-050))}
.sas-p-panel-head h3{margin:0;color:var(--pp-emerald-950);}
.sas-p-panel-head p{margin:3px 0 0;color:var(--pp-muted);}
.sas-p-tabs{display:flex;background:var(--pp-emerald-100);padding:3px;border-radius:10px;border:1px solid #dce8e3}
.sas-p-tabs button{border:0;background:transparent;color:var(--pp-emerald-800);padding:8px 11px;border-radius:8px;cursor:pointer;}
.sas-p-tabs button.active{background:var(--pp-emerald-900);color:#fff;box-shadow:0 2px 8px rgba(11,47,42,.12)}
.sas-p-filters{padding:0 20px 16px;display:grid;grid-template-columns:minmax(240px,1.6fr) repeat(2,minmax(140px,.65fr)) auto;gap:9px}
.sas-p-filters input,.sas-p-filters select{height:42px;border:1px solid #cad7d1;border-radius:10px;background:#fff;color:var(--pp-text);padding:0 11px;outline:none;}
.sas-p-filters input::placeholder{color:#88928d}
.sas-p-filters input:focus,.sas-p-filters select:focus{border-color:var(--pp-emerald-700);box-shadow:0 0 0 3px rgba(29,103,89,.1)}
.sas-p-table-wrap{overflow-x:auto;border-top:1px solid var(--pp-line);-webkit-overflow-scrolling:touch;max-width:100%}
.sas-p-table-wrap table{width:100%;min-width:1040px;border-collapse:collapse;table-layout:fixed;background:#fff}
.sas-p-table-wrap th{background:var(--pp-emerald-900);color:#fff;text-align:right;padding:12px 11px;white-space:nowrap;}
.sas-p-table-wrap td{padding:13px 11px;border-top:1px solid #e7ece9;vertical-align:middle;color:var(--pp-text);background:#fff}
.sas-p-table-wrap tbody tr:hover td{background:#fbfcfb}
.sas-p-table-wrap td strong,.sas-p-table-wrap td small{display:block}
.sas-p-table-wrap td strong{color:var(--pp-text)}
.sas-p-table-wrap td small{margin-top:2px;color:var(--pp-muted);}
.sas-p-status{display:inline-flex;align-items:center;padding:5px 9px;border-radius:20px;white-space:nowrap;}
.sas-p-not-submitted{background:var(--pp-warning-bg);color:var(--pp-warning)}
.sas-p-submitted{background:var(--pp-info-bg);color:var(--pp-info)}
.sas-p-revision{background:var(--pp-danger-bg);color:var(--pp-danger)}
.sas-p-approved{background:var(--pp-success-bg);color:var(--pp-success)}
.sas-p-overdue{background:#edf0ee;color:#59645e}
.sas-p-muted{color:var(--pp-muted)}
.sas-p-details{width:34px;height:34px;border:1px solid #cbd8d2;border-radius:9px;background:#fff;color:var(--pp-emerald-800);cursor:pointer;}
.sas-p-details:hover{background:var(--pp-emerald-100);border-color:var(--pp-emerald-700)}
.sas-p-empty{padding:40px;text-align:center;color:var(--pp-muted);}
.sas-p-panel-foot{display:flex;justify-content:space-between;gap:12px;padding:12px 20px;border-top:1px solid var(--pp-line);background:#fbfcfb;color:var(--pp-muted)}
.sas-p-drawer-backdrop{position:fixed;inset:0;background:rgba(7,25,20,.46);z-index:99999}
.sas-p-drawer{position:absolute;left:0;top:0;width:min(480px,100%);height:100%;overflow:auto;background:#fff;box-shadow:16px 0 48px rgba(7,25,20,.14)}
.sas-p-drawer header{display:flex;justify-content:space-between;gap:16px;padding:20px;border-bottom:1px solid var(--pp-line);position:sticky;top:0;background:#fff;z-index:2}
.sas-p-drawer header h3{margin:0;color:var(--pp-emerald-950);}
.sas-p-drawer header p{margin:3px 0 0;color:var(--pp-muted);}
.sas-p-drawer header button{width:34px;height:34px;border:1px solid var(--pp-line);border-radius:9px;background:var(--pp-emerald-050);color:var(--pp-emerald-900);cursor:pointer}
.sas-p-drawer-body{padding:20px;color:var(--pp-text);}
.sas-p-detail-status{display:flex;justify-content:space-between;gap:12px;background:var(--pp-emerald-050);border:1px solid #dce7e2;border-radius:12px;padding:12px;margin-bottom:15px}
.sas-p-drawer-body section{padding-bottom:16px;margin-bottom:16px;border-bottom:1px solid var(--pp-line)}
.sas-p-drawer-body h4{margin:0 0 7px;color:var(--pp-emerald-950);}
.sas-p-drawer-body p{margin:0}
.sas-p-note{background:var(--pp-warning-bg);border-right:4px solid var(--pp-gold-600);border-radius:10px;padding:11px;color:#5c2c16}
.sas-p-timeline{display:grid;gap:9px}
.sas-p-timeline div{padding-right:14px;border-right:3px solid var(--pp-line)}
.sas-p-timeline div.done{border-color:var(--pp-success)}
.sas-p-privacy{background:var(--pp-emerald-050);border:1px solid #dce7e2;border-radius:10px;padding:10px;color:var(--pp-muted);}
.sas-p-notice{padding:12px 14px;border-radius:10px;}
.sas-p-error{background:var(--pp-danger-bg);border:1px solid #e7c2bd;color:var(--pp-danger)}
@media(max-width:980px){
  .sas-p-stats{grid-template-columns:1fr 1fr}
  .sas-p-filters{grid-template-columns:1fr 1fr}
  .sas-p-filters input{grid-column:1/-1}
}
@media(max-width:680px){
  .sas-p-assignments-summary{padding:15px}
  .sas-p-assignments-body{padding:14px}
  .sas-p-shell{padding:14px 10px 30px}
  .sas-p-topbar{align-items:flex-start}
  .sas-p-hero{display:block;padding:20px 17px;border-radius:18px}
  .sas-p-hero h2{}
  .sas-p-child-box{width:100%;max-width:none;margin-top:16px}
  .sas-p-panel-head{display:block}
  .sas-p-tabs{margin-top:10px;width:max-content}
  .sas-p-filters{padding:0 12px 13px;grid-template-columns:1fr 1fr}
  .sas-p-panel-foot{display:block}
  .sas-p-panel-foot span{display:block}
  .sas-p-table-wrap{overflow-x:auto;max-width:100%}
  .sas-p-table-wrap table{min-width:1040px}
}
