/* iCapital Deal OS core design system.
 * This file owns the small layout/component surface previously supplied by
 * Bootstrap. Module styles remain responsible for their branded screens.
 */
:root{
  --ic-space-1:.25rem;--ic-space-2:.5rem;--ic-space-3:1rem;--ic-space-4:1.5rem;
  --ic-border:#dee7f1;--ic-muted:#6c7b91;--ic-danger:#b42331;--ic-danger-bg:#fff0f1;
  --ic-success:#147a55;--ic-success-bg:#eaf9f2;--ic-warning:#8a5a00;--ic-warning-bg:#fff7df;
  --ic-info:#155e9b;--ic-info-bg:#edf7ff;--ic-primary:#176ed1;
}
html{line-height:1.5;-webkit-text-size-adjust:100%}
body{margin:0}
button,input,optgroup,select,textarea{margin:0;font:inherit;line-height:inherit}
button,select{cursor:pointer}
textarea{resize:vertical}
img,svg{vertical-align:middle}
h1,h2,h3,h4,h5,h6,p{margin-top:0}
a{background-color:transparent}
[hidden]{display:none!important}

/* Grid */
.container{width:100%;margin-right:auto;margin-left:auto;padding-right:.75rem;padding-left:.75rem}
.row{display:flex;flex-wrap:wrap;margin-right:-.75rem;margin-left:-.75rem}
.row>*{width:100%;max-width:100%;padding-right:.75rem;padding-left:.75rem}
.g-3{row-gap:1rem}
@media(min-width:576px){.container{max-width:540px}.col-sm-6{flex:0 0 auto;width:50%}}
@media(min-width:768px){.container{max-width:720px}.col-md-2{flex:0 0 auto;width:16.66666667%}.col-md-3{flex:0 0 auto;width:25%}.col-md-4{flex:0 0 auto;width:33.33333333%}.col-md-5{flex:0 0 auto;width:41.66666667%}.col-md-6{flex:0 0 auto;width:50%}.col-md-8{flex:0 0 auto;width:66.66666667%}}
@media(min-width:992px){.container{max-width:960px}}
@media(min-width:1200px){.container{max-width:1140px}.col-xl-3{flex:0 0 auto;width:25%}}
@media(min-width:1400px){.container{max-width:1320px}}

/* Cards */
.card{position:relative;display:flex;flex-direction:column;min-width:0;color:inherit;background:#fff;background-clip:border-box;border:1px solid var(--ic-border);border-radius:.75rem}
.card-body{flex:1 1 auto;padding:1rem}
.card-header{padding:.75rem 1rem;margin-bottom:0;background:#f8fafc;border-bottom:1px solid var(--ic-border)}

/* Forms */
.form-label{display:inline-block;margin-bottom:.5rem}
.form-control,.form-select{display:block;width:100%;min-height:40px;padding:.55rem .75rem;color:#22354e;background:#fff;border:1px solid #ccd9e7;border-radius:.55rem;transition:border-color .15s ease,box-shadow .15s ease}
.form-control:focus,.form-select:focus{border-color:#70aef0;outline:0;box-shadow:0 0 0 .2rem rgba(23,110,209,.12)}
.form-control:disabled,.form-select:disabled{color:#73839a;background:#eef3f8;cursor:not-allowed}
.form-select{padding-right:2.25rem}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;min-height:38px;padding:.5rem .85rem;border:1px solid transparent;border-radius:.55rem;color:#22354e;background:#eef3f8;text-align:center;text-decoration:none;vertical-align:middle;user-select:none;transition:.15s ease}
.btn:hover{filter:brightness(.98)}
.btn:focus-visible{outline:3px solid rgba(23,110,209,.2);outline-offset:2px}
.btn-sm{min-height:32px;padding:.35rem .65rem;font-size:.875rem}
.btn-lg{min-height:46px;padding:.7rem 1rem;font-size:1.05rem}
.btn-dark{color:#fff;background:#143e72;border-color:#143e72}
.btn-outline-dark{color:#143e72;background:#fff;border-color:#9bb0c8}
.btn-success{color:#fff;background:#147a55;border-color:#147a55}

/* Alerts and badges */
.alert{position:relative;padding:.85rem 1rem;margin-bottom:1rem;border:1px solid transparent;border-radius:.7rem}
.alert-danger{color:var(--ic-danger);background:var(--ic-danger-bg);border-color:#f3c9ce}
.alert-success{color:var(--ic-success);background:var(--ic-success-bg);border-color:#bfe9d7}
.alert-warning{color:var(--ic-warning);background:var(--ic-warning-bg);border-color:#eedba5}
.alert-info{color:var(--ic-info);background:var(--ic-info-bg);border-color:#c9e5f8}
.badge{display:inline-block;padding:.35em .65em;border-radius:999px;font-size:.75em;font-weight:700;line-height:1;white-space:nowrap}
.text-bg-success{color:#fff!important;background:#198754!important}.text-bg-danger{color:#fff!important;background:#b42331!important}.text-bg-warning{color:#3b2b00!important;background:#ffc857!important}.text-bg-info{color:#fff!important;background:#176ed1!important}

/* Tables */
.table-responsive{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
.table{width:100%;margin-bottom:1rem;color:inherit;vertical-align:top;border-collapse:collapse}
.table>:not(caption)>*>*{padding:.65rem;border-bottom:1px solid var(--ic-border)}
.table>thead{vertical-align:bottom}
.table>tbody{vertical-align:inherit}
.table-sm>:not(caption)>*>*{padding:.35rem .5rem}
.table-hover>tbody>tr:hover>*{background:#f5f9ff}

/* Small compatibility utility surface; removed when module markup is migrated. */
.d-block{display:block!important}.d-flex{display:flex!important}
.justify-content-between{justify-content:space-between!important}
.align-items-center{align-items:center!important}.align-items-end{align-items:flex-end!important}.align-middle{vertical-align:middle!important}
.text-center{text-align:center!important}.text-end{text-align:right!important}.text-secondary{color:var(--ic-muted)!important}
.fw-semibold{font-weight:600!important}.small{font-size:.875em}.h3{font-size:1.75rem}.h4{font-size:1.5rem}.h5{font-size:1.25rem}
.w-100{width:100%!important}.h-100{height:100%!important}
.mb-0{margin-bottom:0!important}.mb-1{margin-bottom:.25rem!important}.mb-2{margin-bottom:.5rem!important}.mb-3{margin-bottom:1rem!important}.mb-4{margin-bottom:1.5rem!important}
.mt-3{margin-top:1rem!important}.py-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}

@media(max-width:767.98px){
  .table-responsive{border-radius:.65rem}
  .btn{min-height:42px}
}
